﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//namespace ArtMath
//{
//    /// <summary>
//    /// 无向图
//    /// </summary>
//    /// <typeparam name="T"></typeparam>
//    public class UnDirectedGraph<T> : Graph<T>
//    {
//        public override void AddEdge(GraphNode<T> node1, GraphNode<T> node2)
//        {
//            GraphDirectedEdge<T> e1 = new GraphDirectedEdge<T>(node1, node2), 
//                e2 = new GraphDirectedEdge<T>(node2, node1);
//            DirectedEdges.Add(e1);
//            DirectedEdges.Add(e2);
//        }

//        public override void DeleteEdge(GraphNode<T> node1, GraphNode<T> node2)
//        {
//            foreach (GraphDirectedEdge<T> item in node1.DepartEdges)
//            {
//                if (item.Destination == node2)
//                {
//                    deleteEdge(item);
//                    break;
//                }
//            }
//            foreach (GraphDirectedEdge<T> item in node1.ArriveEdges)
//            {
//                if (item.Source == node2)
//                {
//                    deleteEdge(item);
//                    break;
//                }
//            }
//        }
//    }
//}
